One of the core features and highly desired functionalities of any value-add business application such as a customer relationship management (“CRM”) system is the ease and cost of adapting to many existing business requirements. Ideally, an application should expose, manage and execute business logic in a flexible and extensible way. Business logic enables commercial enterprises to model and execute their processes in order to simplify and consolidate their functions. It empowers users to work more effectively and provides the best value out of their business application. Nevertheless, as every business has different and specific requirements, a desired business application should provide out-of-the-box business logic as well as a rich extensibility model that allows new business logic and data to be seamlessly integrated with the application. A typical business application provides application programming interfaces (“APIs”) to enable the users to access the application data and logic. Most of these application APIs have the business logic hard coded in their architecture and execution path and offer little ability to adopt and incorporate new/modified business logic/data to the users of the application. These APIs locate and execute the logic in a non extensible and rigid way and will not allow any dynamical change to the APIs to allow custom data and processes exposure and management. As the business logic is not extensible, the only way to include new logic or modify existing logic is to change the application source code and recompile the application which is not desirable and is inefficient.